/**
 * 使用工厂方法创建对象 通过该方法可以大批量创建对象
 */
function createPerson(name, age, gender) {
    var obj = new Object();
    obj.name = name;
    obj.age = age;
    obj.gender = gender;
    // 对象方法
    obj.say = function() {
        console.log('我是' + name + '一个' + gender + '生' + age + '岁');
    }
    return obj;
}

var p1 = createPerson('孙悟空', 12, '男');
console.log(p1);
p1.say();

/**
 * 使用构造函数创建对象 首字母大写
 * 构造函数的执行流程：1. 立刻创建一个新对象
 *                   2. 将新建对象设置为函数中的this
 *                   3. 执行函数中的代码
 *                   4. 新建对象作为对象返回
 */
function Person(name, age, gender) {
    this.name = name;
    this.age = age;
    this.gender = gender;
}

Person.prototype.say = function() {
    console.log('我是' + this.name + '一个' + this.gender + '生' + this.age + '岁');
}
var per = new Person('傻子', 12, '男');
console.log(per)
console.log(per instanceof Person)
per.say();
/**
 * 数组去重
 */
// var arr = [1, 1, 1, 2, 3, 3, 2, 4, 5, 5, 3, 2, 1];
// var newArr = [];
// for (var i = 0; i < arr.length; i++) {
//     if (newArr.indexOf(arr[i]) < 0) {
//         newArr.push(arr[i]);
//     }
// }
// console.log(newArr);
// var arr = [1, 1, 1, 2, 3, 3, 2, 4, 5, 5, 3, 2, 1];
// console.log(arr)
// for (var i = 0; i < arr.length; i++) {
//     for (var j = i + 1; j < arr.length; j++) {
//         if (arr[i] === arr[j]) {
//             console.log(i, j)
//             arr.splice(j, 1); // 删除之后 后面的元素会顶替上来 该位置还需要再比一次
//             j--; // 重新比较一次

//         }
//     }
// }
// console.log(arr);
// var d = new Date("2012/1/3 12:12:12")
// console.log(d);
// var btn = document.getElementById("btn");
// console.log(btn);
// console.log(btn.innerHTML);
// btn.innerHTML = "hhhh"
//     // div.innerText('哈哈哈哈');
// btn.onclick = function() {
//     console.log('哈哈哈哈哈')
// }

function createCity(name) {
    // 1 创建标签节点
    var li = document.createElement('li');
    // 2 创建文本节点
    var text = document.createTextNode(name);
    // 3 添加父子关系
    li.appendChild(text);
    return li;
}
var city = document.getElementById('city');
var gz = createCity('广州');
var bj = document.getElementById('bj');


var addBtn = document.getElementById('addGZ');
addBtn.onclick = function() {
    let gz = createCity('广州');
    // 4 添加到页面
    city.appendChild(gz);
};

var addBeforeBtn = document.getElementById('addBefore');
addBeforeBtn.onclick = function() {
    let gz = createCity('广州');
    console.log(bj.innerHTML)
    city.insertBefore(gz, bj); // 父节点调用 参数是两个兄弟节点
}

var replaceBtn = document.getElementById('replaceBj');
replaceBtn.onclick = function() {
    city.replaceChild(gz, bj);
}

var deleteBj = document.getElementById('deleteBj');
deleteBj.onclick = function() {
    city.removeChild(bj);
}

var readHtml = document.getElementById('readHtml');
readHtml.onclick = function() {
    alert(city.innerHTML);
}

var writeHtml = document.getElementById('writeHtml');
writeHtml.onclick = function() {
    bj.innerHTML = "新北京";
}